package org.mendoza.salud.hvt.services.personal;

import org.mendoza.salud.hvt.model.personal.Empleado;
import org.mendoza.salud.hvt.model.personal.Jornada;
import org.mendoza.salud.hvt.model.personal.Registro;
import org.mendoza.salud.hvt.services.global.PersistenceServiceBean;

import javax.ejb.EJB;
import javax.ejb.Stateless;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Created by ricardo on 12/01/15.
 */
@Stateless
public class ControlHorarioServiceBean {
    @EJB
    PersistenceServiceBean persistenceServiceBean;

    public void persistirRegistro(Empleado empleado, Date fechaHora) {
        persistenceServiceBean.persistEntity(new Registro(empleado, fechaHora));
    }

    public void persistirConjuntoDeRegistros(List<Registro> registros) {
        for (Registro registro : registros) {
            persistenceServiceBean.persistEntity(registro);
        }
    }

    public void persistirJornada(Empleado empleado, Date entrada, Date salida) {
        Jornada jornada = new Jornada(empleado, entrada, salida);

        persistenceServiceBean.persistEntity(jornada);
    }

    public List<Jornada> buscarSolapamientos(Jornada jornada) {
        Map parametros = new HashMap();
        parametros.put("empleado", jornada.getEmpleado());
        parametros.put("entrada", jornada.getEntrada());
        parametros.put("salida", jornada.getSalida());
        List<Jornada> jornadasSolapadas = persistenceServiceBean.find("jornada.by.empleado.and.entrada.and.salida", parametros);
        return jornadasSolapadas;
    }
}
